package com.fjb.common.utils;

import java.util.Random;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @Description:文件上传工具类
 * @author hemiao
 * @time:2020年2月16日 下午2:49:26
 */
public class UploadUtils {
	
	/**
	 * @Description: 获取新的文件名称
	 * @param fileName
	 * @return String
	 * @exception:
	 * @author: hemiao
	 * @time:2018年11月27日 下午4:00:09
	 */
	public static String getNewFileName(String fileName) {
		// 获取文件名后缀
		String fileSuffix = fileName.substring(fileName.lastIndexOf(".") + 0);
		// 过滤所有的特殊字符 去掉文件后面名
		String replaceFileName = StringSpecialFilter(fileName.replaceAll("\\..*$", "")).replaceAll(" ", "");
		// 从新命名文件名
		//Date date = new Date();
		//String format = new SimpleDateFormat("yyMMddHHmmss").format(date);
		String name = "";
		// 4 位随机数
		Random random = new Random();
		for (int i=0;i<4;i++){	
			name += random.nextInt(10);
		}
		// 文件名称不变 中中添加当前时间	
		String newFileName = replaceFileName + "_" + name + fileSuffix;
		return newFileName;
	}
	
	/**
	 * @Description:去掉文件名称中的特殊字符  多个文件是用  逗号分隔
	 * @param str
	 * @return
	 * String
	 * @exception:
	 * @author: hemiao
	 * @time:2019年6月9日 下午4:36:12
	 */
	public static  String StringSpecialFilter(String str){ 
		  // 只允许字母和数字        	
		  // String regEx = "[^a-zA-Z0-9-,]"; 	                     
		  // 清除掉所有特殊字符	  					
		  String regEx="[（）()`!@#$%^&|{}':,;'//[//].<>/?~！@#￥%……&——+|{}【】‘；：”“’。，？_]";  
		  Pattern p = Pattern.compile(regEx);     
		  Matcher m = p.matcher(str);	
		  return m.replaceAll("").trim().toString();     
   } 
}
